import echarts from "echarts";

export default {
  mounted() {
    // 绘制报表
    this.initReport();
  },
  created() {},

  data() {
    return {
      // echarts报表所需数据
      options: {
        title: {
          text: "用户来源",
        },
        tooltip: {
          trigger: "axis",
          axisPointer: {
            type: "cross",
            label: {
              backgroundColor: "#E9EEF3",
            },
          },
        },
        grid: {
          left: "3%",
          right: "4%",
          bottom: "3%",
          containLabel: true,
        },
        xAxis: [
          {
            boundaryGap: false,
          },
        ],
        yAxis: [
          {
            type: "value",
          },
        ],
      },
    };
  },
  methods: {
    // 初始化echarts实例的方法
    async initReport() {
      const myChar = echarts.init(this.$refs.wrapper);
      // const option = "自己的报表配置项+数据项"
      // 获取后台提供的包含数据的配置项
      // 获取成功后 和 现在的基础配置项进行合并
      const {
        data: { data, meta },
      } = await this.$http.get(`reports/type/1`);
      console.log(data, meta);
      if (meta.status !== 200) return this.$message.error(meta.msg);
      // 合并配置项 data 和 this.options
      // Object.assign() 合并对象
      this.options = Object.assign(this.options, data);
      // 使用刚指定的配置项和数据显示图表。
      myChar.setOption(this.options);
    },
  },
};
